//package com.nervenets.template.config;
//
//import org.springframework.amqp.core.Binding;
//import org.springframework.amqp.core.BindingBuilder;
//import org.springframework.amqp.core.Queue;
//import org.springframework.amqp.core.TopicExchange;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.boot.SpringBootConfiguration;
//import org.springframework.context.annotation.Bean;
//
//@SpringBootConfiguration
//public class MQCreatorConfiguration {
//    @Value("${application.rabbitmq.listener.mallOrder}")
//    private String mallOrderQueueName;
//
//    @Bean
//    public Queue mallOrderQueue() {
//        return new Queue(mallOrderQueueName);
//    }
//
//    @Bean
//    Binding bindingMallOrderQueue(Queue mallOrderQueue, TopicExchange exchange) {
//        return BindingBuilder.bind(mallOrderQueue).to(exchange).with(mallOrderQueueName);
//    }
//
//    //===============以下是验证topic Exchange的队列==========
//    @Bean
//    public Queue queueMessage() {
//        return new Queue("topic.message");
//    }
//
//    @Bean
//    public Queue queueMessages() {
//        return new Queue("topic.messages");
//    }
//
//    //===============以上是验证topic Exchange的队列==========
//    @Bean
//    TopicExchange exchange() {
//        return new TopicExchange("exchange");
//    }
//
//    /**
//     * 将队列topic.message与exchange绑定，binding_key为topic.message,就是完全匹配
//     *
//     * @param queueMessage
//     * @param exchange
//     * @return
//     */
//    @Bean
//    Binding bindingExchangeMessage(Queue queueMessage, TopicExchange exchange) {
//        return BindingBuilder.bind(queueMessage).to(exchange).with("topic.message");
//    }
//
//    /**
//     * 将队列topic.messages与exchange绑定，binding_key为topic.#,模糊匹配
//     *
//     * @param queueMessages
//     * @param exchange
//     * @return
//     */
//    @Bean
//    Binding bindingExchangeMessages(Queue queueMessages, TopicExchange exchange) {
//        return BindingBuilder.bind(queueMessages).to(exchange).with("topic.#");
//    }
//}
